package com.business.api.official.toursism.websiteshop.manager;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.business.api.official.toursism.websiteshop.vo.WebsiteShopApiBriefListVO;
import com.business.api.official.toursism.websiteshop.vo.WebsiteShopApiBriefVO;
import com.business.api.official.toursism.websiteshop.vo.WebsiteShopApiDetailListVO;
import com.business.api.official.toursism.websiteshop.vo.WebsiteShopApiDetailVO;
import com.business.api.official.toursism.websiteshop.vo.data.WebsiteShopApiBriefData;
import com.business.api.official.toursism.websiteshop.vo.data.WebsiteShopApiDetailData;
import com.business.system.official.toursism.websiteshop.entity.WebsiteShop;
import com.seed.core.exception.ManagerException;
import com.seed.core.pojo.manager.SeedApiManager;

import java.util.List;
/**
 * @description 购物车
 * @author CodeGenerator
 * @date   2025-01-25
 * @version V1.0
 */
public interface WebsiteShopApiManager extends SeedApiManager<WebsiteShop>{

    /**
     * 根据id获取详情VO data
     *
     * @param websiteShopId 对象id
     * @return 详情VO data对象
     * @throws ManagerException 通用层异常
     */
    WebsiteShopApiDetailData convertApiDetailData(String websiteShopId) throws ManagerException;

    /**
     * 转换为VO对象
     *
     * @param websiteShop model
     * @return VO对象
     * @throws ManagerException 通用层异常
     */
    WebsiteShopApiDetailData convertApiDetailData(WebsiteShop websiteShop) throws ManagerException;

    /**
     * 根据id获取详情VO
     *
     * @param websiteShopId 对象id
     * @return 详情VO对象
     * @throws ManagerException 通用层异常
     */
    WebsiteShopApiDetailVO getApiDetailVO(String websiteShopId) throws ManagerException;

    /**
     * 根据对象获取详情VO
     *
     * @param websiteShop 对象
     * @return 详情VO对象
     * @throws ManagerException 通用层异常
     */
    WebsiteShopApiDetailVO getApiDetailVO(WebsiteShop websiteShop) throws ManagerException;

    /**
     * 根据对象ids获取详情VO data list
     *
     * @param ids 对象ids
     * @return 详情VO data list对象
     * @throws ManagerException 通用层异常
     */
    List<WebsiteShopApiDetailData> getConvertApiDetailListVOByIds(List<String> ids) throws ManagerException;

    /**
     * 根据查询条件获取详情VO data list
     *
     * @param queryWrapper 查询条件
     * @return 详情VO data list对象
     * @throws ManagerException 通用层异常
     */
    List<WebsiteShopApiDetailData> listConvertApiDetailData(Wrapper<WebsiteShop> queryWrapper) throws ManagerException;

    /**
     * 转换为VO对象
     *
     * @param websiteShopList model列表
     * @return VO对象列表
     * @throws ManagerException 通用层异常
     */
    List<WebsiteShopApiDetailData> listConvertApiDetailData(List<WebsiteShop> websiteShopList) throws ManagerException;

    /**
     * 根据对象ids获取详情VO data list
     *
     * @param ids 对象ids
     * @return 详情VO data list对象
     * @throws ManagerException 通用层异常
     */
    WebsiteShopApiDetailListVO getApiDetailListVOByIds(List<String> ids) throws ManagerException;

    /**
     * 根据查询条件获取详情VO data list
     *
     * @param queryWrapper 查询条件
     * @return 详情VO data list对象
     * @throws ManagerException 通用层异常
     */
    WebsiteShopApiDetailListVO getApiDetailListVO(Wrapper<WebsiteShop> queryWrapper) throws ManagerException;

    /**
     * 根据对象list获取详情VO data list
     *
     * @param websiteShopList 对象list
     * @return 详情VO data list对象
     * @throws ManagerException 通用层异常
     */
    WebsiteShopApiDetailListVO getApiDetailListVO(List<WebsiteShop> websiteShopList) throws ManagerException;

    /**
     * 根据id获取简略VO data
     *
     * @param websiteShopId 对象id
     * @return 简略VO data对象
     * @throws ManagerException 通用层异常
     */
    WebsiteShopApiBriefData convertApiBriefData(String websiteShopId) throws ManagerException;

    /**
     * 转换为VO对象
     *
     * @param websiteShop model
     * @return VO对象
     * @throws ManagerException 通用层异常
     */
    WebsiteShopApiBriefData convertApiBriefData(WebsiteShop websiteShop) throws ManagerException;

    /**
     * 根据id获取简略VO
     *
     * @param websiteShopId 对象id
     * @return 简略VO对象
     * @throws ManagerException 通用层异常
     */
    WebsiteShopApiBriefVO getApiBriefVO(String websiteShopId) throws ManagerException;

    /**
     * 根据对象获取简略VO
     *
     * @param websiteShop 对象
     * @return 简略VO对象
     * @throws ManagerException 通用层异常
     */
    WebsiteShopApiBriefVO getApiBriefVO(WebsiteShop websiteShop) throws ManagerException;

    /**
     * 根据对象ids获取简略VO data list
     *
     * @param ids 对象ids
     * @return 简略VO data list对象
     * @throws ManagerException 通用层异常
     */
    List<WebsiteShopApiBriefData> listConvertApiBriefDataByIds(List<String> ids) throws ManagerException;

    /**
     * 根据查询条件获取简略VO data list
     *
     * @param queryWrapper 查询条件
     * @return 简略VO data list对象
     * @throws ManagerException 通用层异常
     */
    List<WebsiteShopApiBriefData> listConvertApiBriefData(Wrapper<WebsiteShop> queryWrapper) throws ManagerException;

    /**
     * 根据对象list获取简略VO data list
     *
     * @param websiteShopList 对象list
     * @return 简略VO data list对象
     * @throws ManagerException 通用层异常
     */
    List<WebsiteShopApiBriefData> listConvertApiBriefData(List<WebsiteShop> websiteShopList) throws ManagerException;

    /**
     * 根据对象ids获取简略VO data list
     *
     * @param ids 对象ids
     * @return 简略VO data list对象
     * @throws ManagerException 通用层异常
     */
    WebsiteShopApiBriefListVO getApiBriefListVOByIds(List<String> ids) throws ManagerException;

    /**
     * 根据查询条件获取简略VO data list
     *
     * @param queryWrapper 查询条件
     * @return 简略VO data list对象
     * @throws ManagerException 通用层异常
     */
    WebsiteShopApiBriefListVO getApiBriefListVO(Wrapper<WebsiteShop> queryWrapper) throws ManagerException;

    /**
     * 根据对象list获取简略VO data list
     *
     * @param websiteShopList 对象list
     * @return 简略VO data list对象
     * @throws ManagerException 通用层异常
     */
    WebsiteShopApiBriefListVO getApiBriefListVO(List<WebsiteShop> websiteShopList) throws ManagerException;

}
